A human capital management (HCM) system may automate various human resource processes. For example, a HCM system may automate the functionality of hiring a new employee, terminating an existing employee, reassigning an employee, granting extended leave, etc. Each functionality may require one or more approvals before the request is granted, and the HCM system automates the process of generating the appropriate requests and collecting completed approvals before granting the request if the process was successfully completed. In addition, a HCM system may provide various workforce analytics, which quantifies various aspects of human resources management within the HCM system. To setup such a process, various customizing tables are required to be maintained by customers. Within the HCM system, various tools functionality for maintaining these customizing tables are implemented to provide functionality.
Each tool in the HCM system may be associated with global variables necessary for correct operation of the tool. If a first tool calls a second tool, the global variables associated with the first tool may be overwritten by the global variables associated with the second tool. This may cause runtime errors when the second tool finishes executing and control returns to the first tool.
A stack is a data structure based on the principle of Last In First Out (LIFO). Data may be “pushed” onto a stack and added to the data structure. When data is to be retrieved from the stack, it is “popped” from the stack and removed from the data structure. The retrieve data would be data most recently stored into the stack via a “push” operation.
Thus, a need exists to provide stacking of global variables within multiple screens of a HCM system.